#ifndef DATA_QUEUE_H
#define DATA_QUEUE_H

#include <QMutex>
#include <queue>
#include <QString>

class DataQueue
{
private:
    static DataQueue * instance ;
    DataQueue(){}
public:
    static DataQueue & getInstance();
public:

    /**
     * @brief getData
     * @return  返回空字符串，表示缓存区为空
     */
    QString getData();

    /**
     * @brief setData
     * @param data
     * @return  false ,表示缓冲区已经满了,数据没有放入。
     */
    bool setData(const QString &data);

    QMutex & getQMutex(){return mutex;}
private:
    QMutex mutex;
    std::queue<QString> dataQueue;//FIFO
};

#endif // PRODUCTTHREAD_H
